package io.fft.flight.modules.flight.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.fft.flight.common.annotation.EntityFieldDefault;
import lombok.Data;

import java.util.Date;

/**
 * 主订单表
 *
 * @author likailun kellenli30541@gmail.com
 * @since 1.0.0 2024-06-19
 */
@Data
@TableName("t_order")
public class OrderEntity {

    /**
     * 主键
     */
	private Long id;
    /**
     * 订单编号
     */
	private String orderNo;
    /**
     * officeNo
     */
	private String officeNo;
    /**
     * 生单pnr
     */
    @EntityFieldDefault()
    private String bookPnr;
    /**
     * 大编码、非必须
     */
    @EntityFieldDefault()
    private String bigPnr;
    /**
     * 新PNR
     */
    @EntityFieldDefault()
    private String pnr;
    /**
     * 支付方式 YPAY-胤钱宝支付 必须
     */
    @EntityFieldDefault()
    private String payType;
    /**
     * 政策ID 必须
     */
    @EntityFieldDefault()
    private String dataSourcePolicyNo;
    /**
     * 出票类型，已出票订单必填，B2B or BSP 出票 非必须
     */
    @EntityFieldDefault()
    private String ticketVoucherType;
    /**
     * 出票方式: 1-自动出票 2-手动出票
     */
    @EntityFieldDefault("0")
    private Integer ticketChannels;
    /**
     * 自动出票提示信息
     */
    @EntityFieldDefault()
    private String failureReason;
    /**
     * 航程类型 1-单程 2-往返 3-多程 必须
     */
    @EntityFieldDefault(value = "0")
    private Integer flightType;
    /**
     * 是否换编码出票 必须
     */
    @EntityFieldDefault()
    private String ifChangePnr;
    /**
     * 交易流水号 必须
     */
    @EntityFieldDefault()
    private String streamNumber;
    /**
     * 联系人 必须
     */
    @EntityFieldDefault()
    private String contactName;
    /**
     * 联系人电话 必须
     */
    @EntityFieldDefault()

    private String contactTel;
    /**
     * 联系人邮箱
     */
    @EntityFieldDefault()
    private String contactEmail;
    /**
     * 联系人备注
     */
    @EntityFieldDefault()
    private String remark;
    /**
     * 订单状态  2出票失败 3支付成功 4正在出票 5已出票 6已取消
     */
    @EntityFieldDefault(value = "0")
    private Integer orderStatus;
    /**
     * 创建者
     */
    @TableField(fill = FieldFill.INSERT)
    private Long creator;
    /**
     * 创建时间
     */
	private Date createAte;
    /**
     * 修改人
     */
	private Long updater;
    /**
     * 修改时间
     */
	private Date updateDate;
    /**
     * 订单来源：yzl、jlx
     */
    private String orderSource;
}